package cn.seaboot.admin.mvc.argument;


import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 更新字段
 *
 * 填写表单的时候，按字段更新字段值。
 *
 * 尽管大部分业务，我们用的是雪花 ID，在逻辑上，尽量用字符串处理。
 *
 * 比如：在前端的 javascript 中，number 的上限是 53 位，
 *
 * @author Mr.css
 * @version 2025-02-28 17:14
 */
public class ModifyArgument implements Serializable {

    @NotNull
    private String id;

    @NotNull
    private String field;

    private Object value;

    public String getId() {
        return id;
    }

    public Integer getIdInt() {
        return Integer.parseInt(id);
    }

    public Long getIdLong() {
        return Long.parseLong(id);
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getField() {
        return field;
    }

    public void setField(String field) {
        this.field = field;
    }

    public Object getValue() {
        return value;
    }

    public void setValue(Object value) {
        this.value = value;
    }

    @Override
    public String toString() {
        return "ModifyArgument{" +
                "id=" + id +
                ", field='" + field + '\'' +
                ", value=" + value +
                '}';
    }
}
